package com.ly.lypopupwindowdemo.service;

import android.app.IntentService;
import android.content.Intent;
import android.support.annotation.Nullable;

public class MyIntentService extends IntentService {
    /**
     * 服务中的代码默认都是运行在主线程中的。如果直接在服务里执行一些耗时的操作
     * 容易导致ANR(Application Not Responding)
     *
     * 所以这时候就需要用到Android的多线程编程技术，我们应该在服务的每一个具体的
     * 方法里面开启一个子线程，为了能够让服务停止下来，我们可以在线程中处理完逻辑之后
     * 调用stopSelf。
     *
     * 然后Android专门提供了一个IntentService类，它可以直接就是在子线程中执行而且自动
     * 停止服务。
     *
     * 开启的用法和普通Service式样的。
     *
     */

    /**
     * Creates an IntentService.  Invoked by your subclass's constructor.
     *
     * @param name Used to name the worker thread, important only for debugging.
     */
    public MyIntentService(String name) {
        super(name);
    }

    @Override
    protected void onHandleIntent(@Nullable Intent intent) {

        /**
         * 这里可以处理具体的逻辑，不用担心ANR，这个方法已经是在子线程中运行的了。
         */
    }

    @Override
    public void onDestroy() {
        super.onDestroy();

    }
}
